package com.wande.dataplatform.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wande.dataplatform.domain.DorisStorage;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * Doris存储元数据视图对象
 *
 * @author dataplatform
 */
@Data
@AutoMapper(target = DorisStorage.class)
public class DorisStorageVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 租户ID
     */
    private Long tenantId;

    /**
     * 数据库名称
     */
    private String databaseName;

    /**
     * 表名称
     */
    private String tableName;

    /**
     * 表类型
     */
    private String tableType;

    /**
     * 表注释
     */
    private String tableComment;

    /**
     * 表结构JSON
     */
    private String tableSchema;

    /**
     * 行数
     */
    private Long rowCount;

    /**
     * 数据大小(字节)
     */
    private Long dataSize;

    /**
     * 分区数量
     */
    private Integer partitionCount;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 最后同步时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastSyncTime;
}
